import  axios from 'axios'

const request=axios.create()
const ERROR_MSG = {
    ERROR_NETWORK: '网络异常，请检查网络',
    ECONNABORTED: '请求超时，请稍后重试'
};
const HTTP_MSG = {
    401: '未授权',
    404: '访问资源不存在',
    500: '服务器出现异常',
    DEFAULT: '服务器太慢了，你待会再试'
}
request.interceptors.request.use(
    function (config) {
        return config;
    },
    function (error) {
        // 继续保持 Promise 错误对象的返回，让后续的调用方法可以继续调用Promise语法
        return Promise.reject(error);
    }
)
request.interceptors.response.use(
    function (response) {
        console.log("响应")
        // 提前处理了响应数据，让后续的axios 的成功结果直接是 后台数据
        return response.data;
    },
    function (error) {
        let msg = "";
        if (error.response) {//有响应的情况下
            msg = HTTP_MSG[error.response.status];
        } else {
            msg = ERROR_MSG[error.code]
        }
        alert(msg)
        // 继续保持 Promise 错误对象的返回，让后续的调用方法可以继续调用Promise语法,同时在浏览器控制台提示错误[为开发者服务的]
        return Promise.reject(msg)
    }
)
export default request